package com.tbit.uqbike.object.pojo.vo;

import com.tbit.uqbike.constant.CsvConstant;
import com.tbit.uqbike.webmanager.util.csv.annotations.Csv;
import com.tbit.uqbike.webmanager.util.csv.annotations.Sum;
import lombok.Data;

import java.util.Date;

/**
 * @AUTHOR: wei.xing
 * @DATE: 2022-11-17 18:59
 **/
@Data
public class AdvanceDepositVO {

    /**
     *
     */
    private Long userCapitalChangeId;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 变动区域id
     */
    private Integer accountId;

    /**
     * 品牌id
     */
    private Integer brandId;

    /**
     * 操作人id
     */
    private Integer operatorId;

    /**
     * 用户姓名
     */
    @Csv(name = "用户姓名", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String userName;

    /**
     * 用户手机号
     */
    @Csv(name = "用户手机号", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String phone;

    /**
     * 业务订单号
     */
    @Csv(name = "业务订单号", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String businessNO;


    /**
     * 商户订单号
     */
    @Csv(name = "商户订单号", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String merchantNO;

    /**
     * 运营区域
     */
    @Csv(name = "运营区域", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String accountName;

    /**
     * 用户类型 1 本地用户 2 漫游用户
     */
    @Csv(name = "用户类型", keys = {"1", "2"}, values = {"本地用户", "漫游用户"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private String userType;

    /**
     * 时间
     */
    @Csv(name = "时间", type = CsvConstant.CSV_TYPE_WITHOUT)
    private Date changeTime;

    /**
     * 收支类型：1: 收入，2：支出
     */
    @Csv(name = "收支类型", keys = {"1", "2"}, values = {"收入", "支出"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private Integer changeType;

    /**
     * 金额
     */
    @Sum
    @Csv(name = "金额", type = CsvConstant.CSV_TYPE_WITHOUT)
    private Double changeMoney;
    /**
     * 变动后金额
     */
    @Csv(name = "变动后金额", type = CsvConstant.CSV_TYPE_WITHOUT)
    private Double changeEndMoney;
    /**
     * 业务类型
     */
    @Csv(name = "业务类型",
            keys = {"1", "8", "3", "2", "5", "4", "9", "10", "11", "12"},
            values = {"用户充值", "骑行退款", "手工充值", "用户退款", "骑行消费", "手工扣款", "用户充押金", "用户退押金", "人工充押金", "人工扣押金"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private Integer businessType;

    /**
     * 操作人
     */
    @Csv(name = "操作人", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String operatorName;

    /**
     * 操作人手机号码
     */
    @Csv(name = "操作人手机号码", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String operatorPhone;

    /**
     * 备注
     */
    @Csv(name = "备注", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String remark;

    /**
     * 详情
     */
    private String details;

}
